package com.linjuke.mayouting.biz.dal.daointerface;

import java.util.List;

import com.linjuke.mayouting.biz.ao.query.RoleQuery;
import com.linjuke.mayouting.biz.dal.dataobject.RoleDO;
import com.zjuh.sweet.sql.dao.DaoInterfaceInt;

public interface RoleDAO extends DaoInterfaceInt<RoleDO> {
	
	List<RoleDO> queryRoleByUserId(int userId);

	void addUser(int roleId, int userId);
	
	void removeUser(int roleId, int userId);
	
	void addPermission(int roleId, int permissionId);
	
	void removePermission(int roleId, int permissionId);
	
	List<Integer> queryPermissionIdsByUserId(int userId);
	
	List<Integer> queryPermissionIdsByRoleId(int roleId);
	
	List<RoleDO> queryForPage(RoleQuery roleQuery);
	
	int removeAllForUser(int userId);
	
	List<Integer> queryUserIdByRoleId(int roleId);
	
	int removePermissions(int roleId);

	int removeUsers(int roleId);
}
